package com.coocaa.x.service.liteservice.aidl;

import com.coocaa.x.service.litecache.aidl.ILiteCacheService;
import com.coocaa.x.service.liteccconnector.aidl.ILiteCCConnectorService;
import com.coocaa.x.service.litedb.aidl.ILiteDBService;
import com.coocaa.x.service.liteuser.aidl.ILiteUserService;
import com.coocaa.x.service.litepm.aidl.ILitePMService;
import com.coocaa.x.service.liteplayer.aidl.ILitePlayerClientService;
import com.coocaa.x.service.liteplayer.aidl.ILitePlayerKernelProxyService;
import com.coocaa.x.service.liteconfig.aidl.ILiteConfigService;
import com.coocaa.x.service.litedownloader.aidl.IDownloaderService;

import com.coocaa.x.service.liteservice.aidl.ILiteServiceListener;

interface ILiteService {
	void whoAmI();
	int getVersion();
	void start();
	void stop();
	
	void addListener(in ILiteServiceListener l);
	void removeListener(in ILiteServiceListener l);
	
	int registerService(String pkgName,String action);
	int unregisterService(String action);
	IBinder getService(String action);
	
	ILiteCacheService getCacheService();
	ILiteDBService getDBService();
	ILiteCCConnectorService getCCConnectorService();
	ILiteUserService getUserService();
	ILitePMService getPMService();
	ILitePlayerClientService getPlayerClientService();
	ILitePlayerKernelProxyService getPlayerKernelProxyService();
	ILiteConfigService getConfigService();
	IDownloaderService getDownloaderService();
}